package com.geeksx.trainer.service;

import com.geeksx.trainer.entity.User;
import com.geeksx.trainer.entity.request.RegisterRequest;
import com.geeksx.trainer.entity.request.UserProfileRequest;
import com.geeksx.trainer.entity.vo.UserVO;

/**
 * Copyright (C), 2025, 北京同创永益科技发展有限公司
 *
 * @Classname UserService
 * @Description TODO
 * @Date 2025/8/26 14:52
 * @Created by zhengkaixuan
 */
public interface UserService {

    /**
     * 注册用户
     * @param user
     * @return
     */
    boolean register(RegisterRequest request);

    /**
     * 登录
     * @param user
     * @return
     */
    User login(User user);
    /**
     * 获取用户信息
     * @param id
     * @return
     */
    User getById(Long id);

    /**
     * 根据用户名获取用户信息
     * @param username
     * @return
     */
    UserVO getByLoginName(String username);

    /**
     * 更新用户信息
     * @param request
     */
    void updateProfile(UserProfileRequest request);

    /**
     * 更新用户头像
     * @param userId
     * @param avatarPath
     */
    void updateUserAvatar(Long userId, String avatarPath);
}
